import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//jdbc 查询
public class Demo2 {
    public static void main(String[] args) throws SQLException {
        // 1.创建数据源DataSource
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java109?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("1234");

        // 2.建立连接
        Connection connection = dataSource.getConnection();

        // 3.构造 sql
        String sql = "select * from student where id = ?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1, 100);

        // 4.执行 sql
        // ResultSet 就表示查询的结果集合 (临时表)。此处就需要针对表进行遍历
        ResultSet resultSet = statement.executeQuery(sql);

        // 5.遍历结果集
        //  通过next方法就可以获取到临时表中的每一条数据，如果获取到最后一行之后，再执行next就返回false，循环结束
        while (resultSet.next()) {
            //针对这一行进行处理了
            //取出列的数据
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id = " + id + ",name = " + name);
        }

        // 6.释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}
